package cron

import "github.com/robfig/cron/v3"

//初始化定义一个定时对象
var c = cron.New(cron.WithSeconds(), cron.WithChain(cron.SkipIfStillRunning(cron.DefaultLogger)))

// AddCronTask 添加定时任务
func AddCronTask(spec string, cmd func(), nowTask bool) cron.EntryID {
	//判断是否立刻执行一次
	if nowTask {
		//立刻执行当前方法 在添加到定时器
		go cmd()
	}
	//添加定时任务
	entryId, _ := c.AddFunc(spec, cmd)
	c.Start()

	return entryId
}

func RemoveTask(entryId int) {
	c.Stop()
	c.Remove(cron.EntryID(entryId))
}
